package main.com.oaer.dao;

import main.com.oaer.model.PageList;
import main.com.oaer.model.User;

/**
 *用户 数据访问对象 
 *
 */
public interface UserDao {
	
	/**
	 * 获取单个用户  
	 * @param id  用户id
	 * @return  已查询的用户对象
	 */
	User load(Long id);
	
	/**
	 * 添加用户
	 * @param user 待插入用户对象
	 */
	void add(User user);
	
	/**
	 * 分页获取用户
	 * @param currentPage 当前页
	 * @param pageSize  每页数目
	 * @param user  查询条件
	 * @return  已分页的用户列表
	 */
	PageList findUsersByPage(Integer currentPage, Integer pageSize,User user);
	
	/**
	 * 删除用户
	 * @param user 待删除用户对象
	 */
	void delete(User user);
	
	/**
	 * 更新用户
	 * @param user  待更新用户对象
	 */
	void update(User user);
	
	/**
	 * 根据用户名获取用户实体
	 * @param username 用户名
	 */
	User findUserByUsername(String username);
}
